package com.chenfan.mcn.model;

import java.math.BigDecimal;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;

import com.chenfan.mcn.extension.log.FieldDesc;
import com.chenfan.mcn.component.dict.StarPlatformInfoIdTranslator;
import com.chenfan.mcn.model.base.BaseSaveEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 红人签约合同明细
 * </p>
 *
 * @author wulg
 * @since 2023-10-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("star_contract_detail")
public class StarContractDetail extends BaseSaveEntity {

    /**
     * 红人ID
     */
    @TableField("star_id")
    private Long starId;

    /**
     * 红人合同ID
     */
    @TableField("star_contract_id")
    private Long starContractId;

    /**
     * 签约平台
     */
    @FieldDesc(value = "红人信息", translator = StarPlatformInfoIdTranslator.class)
    @TableField("star_platform_id")
    private Long starPlatformId;

    /**
     * 分成比例（%）
     */
    @FieldDesc(value = "分成比例（%）")
    @TableField("divided_rate")
    private BigDecimal dividedRate;

    /**
     * 分成备注
     */
    @FieldDesc(value = "分成备注")
    @TableField("divided_remark")
    private String dividedRemark;

    /**
     * 签约开始时间
     */
    @JSONField(format = "yyyy-MM-dd")
    @FieldDesc(value = "签约开始时间", format = "yyyy-MM-dd")
    @TableField("signing_start_time")
    private Date signingStartTime;

    /**
     * 签约结束时间
     */
    @JSONField(format = "yyyy-MM-dd")
    @FieldDesc(value = "签约结束时间", format = "yyyy-MM-dd")
    @TableField("signing_end_time")
    private Date signingEndTime;
}
